1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to a middleware device and a method of supporting compatibility of devices on a home network, and more particularly, to supporting compatibility of all kinds of devices based on Universal Plug-and-Play (UPnP) and web service by a middleware device capable of converting protocols of the UPnP and web service existing on a home network.
2. Description of the Related Art
Representative examples of protocols that are used in home networks include UPnP and web service.
UPnP technology is architecture that provides peer-to-peer connectivity among all kinds of intelligent products, wireless devices, and personal computers. UPnP has been designed to provide connectivity based on a standard, which is flexible and easily used in home, small offices, public places, or ad-hoc network or unmanaged network connected to the Internet. The UPnP technology provides distributed open network architecture that enables Transmission Control Protocol/Internet Protocol (TCP/IP) and web technologies to perform ceaseless proximity networking. The UPnP device architecture defines a communication protocol between a control point (CP) that performs control and a controlled device (CD) that is controlled by the CP. The CP corresponds to a client, and the CD corresponds to a service or a device that provides a service. Communication in a network based on UPnP is divided into discovery, description, control, and eventing operations. Hereinafter, the above operations will be described in detail with reference to FIG. 2.
The web service technology is a technology that enables an application developer to develop more powerful applications by using a service open on the web, and realizes distributed computing environments on the Internet. Important concepts related to a networking technology based on the web service include Simple Object Access Protocol (SOAP), Web Service Description Language (WSDL), and Universal Discovery Description and Integration (UDDI). The web service opens useful functions to web users through SOAP, which is a standard web protocol. The SOAP protocol defines an extensible Markup Language (XML) format for messages. The web service provides an XML document called WSDL in order to describe the interface necessary for a client application. The WSDL defines those included in a request message with respect to a web service and a method of describing a response message. The client application can find a required web service through the UDDI.
As described above, both the web service and UPnP technologies provide connectivity and interoperability among different services under the distributed computing environment. However, there is a problem in that protocols for distributed computing, such as UPnP or web service, are not interoperable with each other because description formats and details of the protocols thereof are different from each other.
FIG. 1 is a view illustrating the configuration of a home network in the related art.
As shown in FIG. 1, devices on the home network can be largely divided into two types from a logical point of view. One type is CDs (controlled devices) 3a, 3b, 3c, and 3d that provide inherent services thereof and are controlled by a user, and the other type is CPs (control points) 1 and 2 that provide a user with a function by which devices in a home can be controlled. Each of the UPnP and the web service configures an in-home network in the form of the CD and CP.
However, in the case when devices having middleware based on UPnP or web service exist together on a network, devices that support the UPnP and devices that support the web service cannot interoperate and communicate with each other.
Therefore, a service developer must consider whether a network is based on a UPnP technology or a web service technology in the development of applications, which is inconvenient.
FIGS. 2A to 2D are views illustrating a procedure of performing the discovery, description, control, and eventing operations on a home network in the related art.
FIG. 2A is a view illustrating the discovery operation in the UPnP and the web service. As shown in FIG. 2A, both the UPnP and web service devices use a dynamic multicast discovery protocol as a discovery protocol on a home network environment.
However, the UPnP uses an Simple Service Discovery Protocol (SSDP) based on HTTP header, while the web service uses a WS-Discovery protocol that is based on a web service. Here, both the SSDP and the WS-Discovery employ similar logic based on the dynamic multicast discovery protocol, but there is no compatibility therebetween.
The discovery operation is largely divided into two sub-operations. In a first sub-operation, a CP finds a CD that the CP desires to control on a home network (i.e., an advertise message transmission in the case of UPnP, and a hello message transmission in the case of web service). In a second sub-operation, the CP makes itself recognized by the CD as the CP enters the home network (i.e., a search message transmission in the case of UPnP, and a probe message transmission in the case of web service). Thus, the CP receives a unicast response message from the CD (i.e., a response message in the case of UPnP, and a probe match message in the case of web service).
Moreover, in the event of a user exiting from the home network without further operations, both the UPnP and web service devices multicast a “bye message” to in-home CPs.
FIG. 2B is a view illustrating the description operation in the UPnP and the web service. As shown in FIG. 2B, both the UPnP and web service use an XML format as description of devices and services to be provided.
However, the UPnP uses the device description template and service description template that are specified by the UPnP forum, while the web service device uses a WSDL, which is a standard related to service description of a web service. Here, the UPnP and the web service are based on the XML format and are similar to each other but there is no compatibility therebetween.
In the description operation, the CP acquires description information on device and service of the CD that the CP desires to control.
That is, both the UPnP and the web service read description information on a corresponding device or service on the basis of description URL information of a corresponding CD acquired in the discovery operation.
FIG. 2C is a view illustrating the control operation in the UPnP and the web service. As shown in FIG. 2C, both the UPnP and web service use SOAP as a control message protocol. However, the UPnP is based on SOAP version 1.1 while the web service device is based on SOAP version 1.2, which may cause a problem in interoperability.
In the control operation, a control command is transmitted between the CP and CD, and both the UPnP and the web service use a SOAP message protocol. The transmission of the control command is made in the form of a response message with respect to a request message.
FIG. 2D is a view illustrating the eventing operation in the UPnP and the web service. As shown in FIG. 2D, eventing logic of both the UPnP and the web service device are similar to each other, but the UPnP uses Generic Event Notification Architecture (GENA) based on the HTTP header, while the web service device uses a WS-Eventing protocol, which is a standard related to eventing of a web service. Accordingly, there is no compatibility between the UPnP and the web service.
In the eventing operation, the CP receives a corresponding event message from the CD. Therefore, in order that the CP receives the event message, the CP should be registered in the CD in a subscription operation.
Thereafter, when a state of the CD changes or a specific eventing situation occurs, the event message is transmitted to the registered CP. In addition, the CP can perform, for example, a time-out setting in the subscription operation and make a renewal request within the time out period. In addition, if transmission of event messages from the CD are not further required, the CP can make a cancellation request.
However, there is no compatibility between the UPnP and the web service device, and accordingly, when the UPnP and the web service device exist together on a home network, the UPnP CP cannot control the web service device and the web service CP cannot also control the UPnP CD. Further, even the compatibility between the UPnP CD and the web service device is not supported.
Korean Unexamined Patent Application Publication No. 2004-073864 (“Application downloading method of downloading and automatically installing application packs and dynamically creating menu and integrated home server system using the same”) discloses a home server system in which a UPnP connection technology is realized through addressing, discovery, description, control, and presentation operations and which includes a communication manager module for web service communication between a home server middleware and a connection medium on an external network, a converter module that converts a UPnP-based message to a web-service-based message based on a web service connection standard, a description manager module that describes detailed service information on a corresponding product, and an application manager module. However, Korean Unexamined Patent Application Publication No. 2004-073864 does not disclose a technology for supporting compatibility of devices, such as the UPnP and the web service, which are not compatible with each other on a home network.